package com.resou.reader.api.service;

import com.resou.reader.api.entry.CommonData;
import com.resou.reader.api.entry.NoBodyEntity;
import com.resou.reader.api.entry.Result;
import com.resou.reader.api.entry.SearchBean;

import java.util.List;

import io.reactivex.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;

/**
 * Created by Garrett on 2018/8/30.
 * contact me krouky@outlook.com
 */
public interface SearchService {
    ///hotKeySave

    /**
     * 搜索页面点击详情前触发点击量记录  未调通
     * 未调通
     */
    @FormUrlEncoded
    @POST("hotKeySave")
    Observable<NoBodyEntity> hotKeySave(@Field("bookId") String bookId, @Field("bookName") String bookName, @Field("clientVersion") String clientVersion);

    /**
     * 搜索接口query  已调通
     * token 为非必须字段
     */
    @FormUrlEncoded
    @POST("search/query")
    Observable<Result<CommonData<List<SearchBean>>>> search(@Field("text") String text, @Field("token") String token, @Field("page") int page, @Field("pageSize") int pageSize);

    /**
     * 查询最近搜索queryHot  已调通
     * token 为非必须字段
     */
    @FormUrlEncoded
    @POST("search/queryHot")
    Observable<Result<List<String>>> queryHot(@Field("clientVersion") String clientVersion);

    /**
     * 搜索删除接口removeQueryHot  已调通
     * token 为非必须字段
     */
    @FormUrlEncoded
    @POST("search/removeQueryHot")
    Observable<Result> removeQueryHot(@Field("clientVersion") String clientVersion);

    /**
     * 搜索页面-大家都在搜索seachPush 已调通
     * token 为非必须字段
     */
//    @FormUrlEncoded
    @GET("search/seachPush")
    Observable<Result<CommonData<List<String>>>> searchPush();

}
